home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
tools
/
jade
/
src
/
changelog
< prev
next >
Wrap
Text File
|
1995-03-09
|
46KB
|
1,315 lines
Fri Oct 7 15:12:19 1994 John Harper (jsh@orcrist)
* Version 3.2 released
Tue Oct 4 00:06:10 1994 John Harper (jsh@orcrist)
* lisp.h, symbols.c, values.c: new type V_Void. Used to denote
a void value in a symbol.
* symbols.c (cmd_symbol_value, cmd_symbol_function,
cmd_default_value): these now take an extra argument `NO-ERROR'.
Unless this is t, when the value is void they signal an error.
* symbols.c: rewrote buffer-local variables to be compatible
with Emacs. Removed `set-buffer-variable' and
`buffer-variable-p', renamed `delete-buffer-variables' to
`kill-all-local-variables' and created the new functions,
`make-local-variable', `make-variable-buffer-local' and
`kill-local-variable'.
(cmd_set): SF_BUFFER_LOCAL only means that a variable may
have a local value; not that one should be created (see next
entry)
* lisp.h (SF_SET_BUFFER_LOCAL): new flag, means that setting
this symbol gives it a buffer-local binding
Mon Oct 3 17:53:07 1994 John Harper (jsh@orcrist)
* io.c (read_tx): no longer scans for code section
* buffers.c (eval_file_code): removed
* editrect.c (col_copy_sect): removed
* housekeeping.c (set-start-line): this was doing it's own
rendering; a bad thing all in all
* Most module's _kill function didn't set that module's private
chain of objects to NULL. In particular the Amiga menus were
stepping through the de-allocated view_chain and guruing...
Sat Oct 1 14:48:49 1994 John Harper (jsh@orcrist)
* amiga_keys.c (lookup_event_name): doesn't pass any qualifiers
to MapRawKey() anymore
* commands.c (cmd_call_command): the `N' code-letter was screwed
* main.c, x11_display.c, amiga_display.c: startup modified so
that the sys_init() function calls a new function inner_main()
which does most of what main() used to do. This allows the Amiga
version of sys_init() to play with the stack
* amiga_display.c (sys_init): now contains code to allocate a
larger stack if the `-stack' argument is given.
* unix_processes.c (run_process): when using pipes stderr is also
connected up
Thu Sep 29 15:33:23 1994 John Harper (jsh@orcrist)
* unix_processes.c (cmd_signal_process, cmd_interrupt_process,
cmd_kill_process, cmd_stop_process, cmd_continue_process): All
have a new argument, SIGNAL-GROUP, which makes them signal the
whole process group.
Mon Sep 26 21:13:32 1994 John Harper (jsh@orcrist)
* unix_processes.c (cmd_make_process): default value of the
connection-type component is now `pipe'
Tue Sep 20 14:22:22 1994 John Harper (jsh@orcrist)
* refresh.c (refresh_world_curs): no longer makes an ill-judged
guess as to whether a window should be refreshed or not; sometimes
it got it wrong :-(
* keys.c (var_next_keymap_path): now passes the prefix-arg through
the chain of multi-key bindings
* x11_keys.c, amiga_keys.c (lookup_event): doesn't look for backslash
characters anymore, also a `-' character as the first character in
a token won't terminate the token.
Sun Sep 18 15:37:00 1994 John Harper (jsh@orcrist)
* misc.c (cmd_file_concat): renamed as `file-name-concat'
Wed Sep 14 15:08:52 1994 John Harper (jsh@orcrist)
* misc.c (cmd_path_name, cmd_base_name): renamed as `file-name-
directory' and `file-name-nondirectory' respectively
* symbols.c (bind_symbol, unbind_symbols): uses the `set-default'
and `default-value' functions to bind variables
(cmd_set_default, cmd_default_value): now checks for a V_Var type
of object
Tue Sep 13 15:10:56 1994 John Harper (jsh@orcrist)
* unix_misc.c, amiga_misc.c (cmd_setenv): new function
* housekeeping.c (resync_y): checks for a blank area at the
bottom of the display; if one exists it's removed
Fri Sep 9 14:59:16 1994 John Harper (jsh@orcrist)
* render.c (cut_paste_lines): when deleting lines, and the stuff
which couldn't be blitted is only partly in the buffer, the rest is
cleared.
(cut_paste_lines): doesn't check if `srcLine' is greater than
the last line displayed anymore; this is perfectly valid
Tue Sep 6 14:47:48 1994 John Harper (jsh@orcrist)
* housekeeping.c (resync_y): when the cursor goes totally out
of the display its put back at the center of the screen.
* unix_server.c, amiga_server.c (cmd_server_open, cmd_server_close):
these can now be called interactively
Sat Sep 3 15:50:18 1994 John Harper (jsh@orcrist)
* find.c (replaceit): now expands the replacement before deleting
the original text; a much better idea (i.e. it works)
Thu Sep 1 14:17:57 1994 John Harper (jsh@orcrist)
* commands.c (cmd_interactive): now a special form
Wed Aug 31 20:28:06 1994 John Harper (jsh@orcrist)
* x11_eventloop.c, amiga_eventloop.c: the hook `close-gadget-hook'
has been renamed to `window-closed-hook'.
Tue Aug 30 11:47:17 1994 John Harper (jsh@orcrist)
* keys.c (cmd_bind_keys, cmd_unbind_keys): the KEY-DESCRIPTION
may now be an event
* keys.h: redefined the EV_TYPE and EV_MOD defines so that
most events will fit this field into 8 bits, and hence will
use the pre-allocated static integers to save memory.
Mon Aug 29 12:47:47 1994 John Harper (jsh@orcrist)
* glyphs.c (cmd_set_glyph): when a glyph-string of "" is
set the first glyph is set to ' '
(cmd_glyph_to_char_pos): POS isn't optional anymore
* buffers.c (mark_prin): doesn't add one to the marks line and
column before printing them anymore. Also resident marks have
their buffer printed not their name
(cmd_set_mark): setting the name of the file should work now
Tue Aug 23 13:11:34 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_bit_not, cmd_bit_or, cmd_bit_and): renamed
as `lognot', `logior' and `logand' respectively.
* lispcmds.c (cmd_logxor): new function
* lispmach.c (OP_LOGXOR_2): new opcode
Thu Aug 18 16:20:48 1994 John Harper (jsh@orcrist)
* streams.c (cmd_make_string_input_stream,
cmd_make_string_output_stream, cmd_get_output_stream_string,
cmd_streamp): new functions
(cmd_file_p): renamed as `filep'
Wed Aug 17 14:30:17 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_defvar, cmd_defconst): the default value of
buffer-local variables is set, not the local value
(cmd_list): now conses up a *new* list, doesn't use its arg list;
this could be risky
(cmd_apply): now signals an error if its last argument is not
a list
Tue Aug 16 19:32:02 1994 John Harper (jsh@orcrist)
* symbols.c (cmd_default_boundp, cmd_set_default): new functions
Sun Aug 14 19:45:52 1994 John Harper (jsh@orcrist)
* symbols.c: obarrays no longer use NULL to terminate a bucket: any
non-symbol object can be used instead. This means that having a
NULL sym_Next can signify that a symbol is not interned, making
the SF_INTERNED flag obsolete -- it's been removed.
* symbols.c (var_obarray): new variable -- provides access
to the default obarray
Sat Aug 13 12:40:00 1994 John Harper (jsh@orcrist)
* glyphs.c (cmd_glyph_table_p): new function
* lispcmds.c (cmd_reverse): this was totally screwed
(cmd_aref, cmd_aset): changed documentation
(cmd_arrayp, cmd_elt): new functions
* editcmds.c (cmd_alpha_char_p, cmd_upper_case_p, cmd_lower_case_p,
cmd_digit_char_p, cmd_alphanumericp, cmd_space_char_p): these now
accept non-integer arguments -- they just return nil for them.
Fri Aug 12 14:09:06 1994 John Harper (jsh@orcrist)
* x11_display.c (x11_text_cursor): cursor to use in all windows
* x11_windows.c (sys_new_window): sets the window's cursor
Thu Aug 11 20:13:10 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_mod): this was actually a remainder function
not modulo; it's renamed to `%'
(cmd_lsh): this was actually an arithmetic shift, new function
`ash' to do this and lsh is fixed
(cmd_integerp): new function
Sun Jul 17 13:46:40 1994 John Harper (jsh@orcrist)
* movement.c (cmd_next_char, cmd_goto_next_char, cmd_prev_char,
cmd_goto_prev_char): now take a COUNT argument: the number
of characters to move. The new args to next-char and prev-char
are incompatible with the old ones :-(
Fri Jul 15 15:01:20 1994 John Harper (jsh@orcrist)
* lisp.c (lisp_init): int_cell is now (user-interrupt)
not (error user-interrupt). This means that interrupts are no
longer errors and therefore are unable to be caught by error-pro.
* x11_eventloop.c, amiga_eventloop.c (event_loop): checks for
explicitly for user-interrupt
Thu Jul 14 15:54:10 1994 John Harper (jsh@orcrist)
* unix_server.c (server_accept_connection): the connection fd is
marked to be discarded on exec()
(server_kill): closes the open connections now
Wed Jul 13 18:20:03 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_eql): new function
* lispmach.c (cmd_lisp_code2): added OP_EQL
Tue Jul 12 13:05:08 1994 John Harper (jsh@orcrist)
* amiga_menus.c (cmd_set_menu): the action of the menu is a command
not a list of forms
* undo.c (undo_trim): when an undo is in progress tries to
truncate the oldest of the three undo-lists
* lispmach.c (CALL_1, CALL_2, CALL_3): macros containing the code
to call a function for an instruction. Lots more opcodes have
been added.
Mon Jul 11 11:53:56 1994 John Harper (jsh@orcrist)
* edit.c (pad_pos): now adds the insertion to the buffer's undo-list
* undo.c: doesn't use prefix counts to group items anymore. Instead
a marker (`nil') is placed between each group. This lets me make
each command a separate undo-group; also undo through several
recursive edits works properly.
* commands.c (var_last_command): no longer checks if VAL is nil
Sun Jul 10 20:06:15 1994 John Harper (jsh@orcrist)
* keys.c (print_event_prefix): now prints the whole sequence
each time.
(event_buf, event_index): records all events in the current
sequence.
(cmd_current_key_string): renamed to `current-event-string'
Thu Jul 7 15:05:40 1994 John Harper (jsh@orcrist)
* commands.c: New file; stuff for interactive function calling
* streams.c (stream_puts, stream_putc): When writing to a string
an extra byte is allocated to hold the zero terminator
(cmd_format): writes each chunk of characters between format
specifiers as one string instead of individually
Wed Jul 6 19:32:31 1994 John Harper (jsh@orcrist)
* streams.c (cmd_format): with a STREAM of nil a string is
constructed.
* edit.h, symbols.c, windows.c: Window-local Lisp variables are
no longer supported; they were only used for one variable, the
`buffer-list'. This variable is now an entry in the VW structure.
* lispcmds.c (cmd_aset): doesn't modify V_StaticString's
* editcommands.c (cmd_translate_string): checks for read-only
strings
* lisp.h (STRING_WRITEABLE_P): macro to check if a Lisp string
may be modified.
Sun Jul 3 15:08:17 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_defconst): an error is signalled if the symbol
is already bound.
* refresh.c (refresh_window): when a deletion is recognised the line
it occurs is *always* redrawn from the first char deleted.
* misc.c (cmd_expand_file_name): new arg, QUALIFY-FULLY. When t
this says to get an absolute name.
* amiga_misc.c, unix_misc.c (sys_fully_qualify_file_name): new
function for the above Lisp function.
* movement.c: (cmd_file_start, cmd_file_end, cmd_goto_file_start,
cmd_goto_file_end): renamed, ``file'' replaced by ``buffer''
* buffers.c (cmd_file_length): now called `buffer-length'
(cmd_file_name): now called `buffer-file-name'
(cmd_set_file_name): now called `set-buffer-file-name'
Fri Jul 1 10:51:45 1994 John Harper (jsh@orcrist)
* refresh.c (flag_deletion): tx_ModEnd is set to the start of the
deletion not the end
(refresh_window): when (tx_ModDelta < 0) (i.e. a deletion) the
cut & paste operation is a bit different now (hopefully this way
works!?)
* render.c (redraw_region): returns immediately when (START == END)
* editcommands.c (sym_inhibit_read_only): new variable
* edit.c (read_only): takes note of `inhibit-read-only' when it's
bound and non-nil.
Wed Jun 29 16:48:46 1994 John Harper (jsh@orcrist)
* Major alterations to all files; I've tried to impose
a sensible naming style onto all symbols. All global
symbols have a prefix. This is either null for files
common to all configurations, `x11_' for stuff accessed
only by the X files, likewise for `unix_' and `ami_'.
The `sys_' prefix is for things which are accessed from
the common area but exists in one of the non-common
files.
Tue Jun 28 14:42:30 1994 John Harper (jsh@orcrist)
* amiga_windows.c (newwindow): calculates for the status line
when opening the window
* amiga_display.c (initwinsys): uses onbreak() to hijack
^C signals caught by stdio
* configs/config.h.amiga (HAVE_ONBREAK): new macro for above
Sun Jun 26 16:26:43 1994 John Harper (jsh@orcrist)
* x11_windowsys.h, amiga_windowsys.h (DRAW_LINE): new macro,
draws a 1-pixel wide line
* render.c, x11_render.c, amiga_render.c, x11_windows.c,
amiga_windows.c: all stuff to do with the status/message line
is made system-independant. This means that messages on the
Amiga now use the bottom line of the window as in X
* amiga_eventloop.c (eventloop): in idle timeout calls
print_event_prefix() and also refreshes the display if
necessary.
* amiga_keys.c (lookup_event_name): uses MapRawKey() to
decipher unknown keycodes.
* amiga_eventloop.c (eventloop): calls undo_distinct() when
the current window changes
* amiga_defs.h (TEST_INT): tests for SIGBREAKF_CTRL_C and calls
amiga_interrupt_handler()
* amiga_display.c (amiga_interrupt_handler): new function, resets
the ^C signal bit and throws an interrupt
(JadeProc): pointer to our process
Thu Jun 23 19:57:13 1994 John Harper (jsh@orcrist)
* keys.c (KEYTAB_HASH_FUN): macro defining how to make a hash
key from an event. Now key-tables are 127 entries long not 128.
* keys.c: meta-sends-esc is reversed to become esc-means-meta, now
there is no separate map for meta/esc keys
Wed Jun 22 16:38:52 1994 John Harper (jsh@orcrist)
* unix_processes.c (proc_notification): now blocks sigchld
* keys.c (usekey): unbound insertions now set the last-command
variable to t.
* undo.c: now records when a buffer changes from un-modified
to modified so this too can be undone.
Mon Jun 20 22:23:46 1994 John Harper (jsh@orcrist)
* undo.c: new file, undo recording and undo-ing
* Wherever flag*tion() is called undo_record_*tion() is also
called.
* x11_eventloop.c (eventloop): calls undo_distinct() when the
current window changes
* editcommands.c (cmd_insert): now returns the position of the
end of the insertion
Sat Jun 18 11:54:50 1994 John Harper (jsh@orcrist)
* lisp.c (read_str): an escaped newline is now ignored
(read_symbol): checks that its static buffer doesn't overflow
* x11_windows.c (unsleep): this may work now?
(sleepwin, unsleep): now use the VWFF_SLEEPING flag
* x11_eventloop.c (handleevent): if we get an Expose event while
sleeping assume that we woke up. Also if the VWFF_FORCE_REFRESH
flag is set we discard all Expose events, when one has a count of
zero (the last) do a total redraw of the window
Thu Jun 16 20:18:58 1994 John Harper (jsh@orcrist)
* refresh.c (refreshwindow): sets vw_LastDisplayOrigin here after
completing refresh
* housekeeping.c (resyncxy): no longer sets vw_LastDisplayOrigin
* movement.c (cmd_centre_display): new function
Wed Jun 15 16:06:13 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_concat): no longer stomps on memory when the
string grows very quickly :-)
* streams.c (cmd_write): optional LENGTH arg for strings
* symbols.c (cmd_delete_buffer_variables): new function
Tue Jun 14 10:54:03 1994 John Harper (jsh@orcrist)
* windows.c (stdtitle): now calls calc_cursor_offset()
* find.c (cmd_match_start, cmd_match_end): new functions; these
replace the variables `find-last-start-pos' and `find-last-end-pos'.
Now the position of any expression can be found and in strings
as well as in buffers.
* editcommands.c (cmd_offset_to_pos, cmd_pos_to_offset): new
functions for converting between byte counts and positions
* unix_processes.c (struct Proc): pr_UsePty changed to pr_ConnType
(runproc): option to set the ECHO flag in a pty
(cmd_set_process_connection_type): now uses named symbols
Mon Jun 13 00:44:26 1994 John Harper (jsh@orcrist)
* unix_processes.c (runproc): now connects stdin of the child to
a defined file when running synchronously.
(cmd_run_process): new arg IN-FILE to make use of the above feature
(runproc, readfromproc): don't write to pr_OutputStream if it's nil
Sun Jun 12 02:05:10 1994 John Harper (jsh@orcrist)
* unix_processes.c (struct Proc): pr_File becomes pr_Prog, pr_Argv
becomes pr_Args and is now a list of arguments 1..N. Arg #0 is
taken from pr_Prog
(cmd_start_process, cmd_run_process): new arg spec. ARGS are now
passed as the last N args in the call. Also the PROCESS arg
is optional, a vanilla process will be created if necessary
(cmd_process_name, cmd_set_process_name): renamed to process-prog
and set-process-prog
(cmd_process_argv, cmd_set_process_argv): renamed argv to args and
takes a list instead of a vector
* lispcmds.c (cmd_copy_list, cmd_copy_string): combined into
cmd_copy_sequence().
(cmd_sequencep): new function
Sat Jun 11 19:21:00 1994 John Harper (jsh@orcrist)
* x11_eventloop.c (eventloop): some reorganisations
* lisp.c (handleerror): now handles cursor and reresh itself
* windows.c (cmd_title): renamed as `message', also a new arg
saying draw it immediately
(cmd_title_now): removed
(var_status_line_cursor): variable controlling VWFF_STATUS_CURS
* render.c (cursor): Takes note of VWFF_STATUS_CURS (but only
in X11 so far)
* edit.h (VW): vw_Sleeping and vw_NonStdTitle now in vw_Flags.
New flag VWFF_STATUS_CURS means draw the cursor in the status
line.
* keys.c (usekey, print_event_prefix): a second after a prefix
key is received the current prefix is displayed
Fri Jun 10 19:24:36 1994 John Harper (jsh@orcrist)
* streams.c (cmd_format): added octal formatting (`%o')
(cmd_format): `%%' doesn't swallow an argument anymore
* keys.c (usekey): the `unbound-key-hook' is now called for all
unbound events -- not just keyboard events
* amiga_keys.c: updated after yesterday's changes, not finished
yet I can't remember the name of a function I need to use :-(
Thu Jun 9 11:32:49 1994 John Harper (jsh@orcrist)
* keys.c, keys.h: massive changes; all key/event structures are
now standard Lisp types (vector & cons cells). Some new functions
for manipulating events and their bindings.
* x11_keys.c (lookup_event_name): new function
Wed Jun 8 20:04:27 1994 John Harper (jsh@orcrist)
* keys.c (sym_idle_hook): new hook, called periodically when idle
time is available
* amiga_eventloop.c, x11_eventloop.c (eventloop): calls idle-hook
* values.c (cmd_garbage_collect): no longer prints a message
while gc is in progress
Tue Jun 7 00:24:30 1994 John Harper (jsh@orcrist)
* edit.c (cmd_set_indent_pos): didn't rebuild line if it already
had the correct number of indentation characters
* unix_processes.c (queue_notify, proc_notification): The callback
function for a process isn't called directly anymore, this is too
risky.
(cmd_make_process, runproc, cmd_fork_process, cmd_run_process): now
more arguments can be passed to set the state of the process object.
(cmd_process_connection_type, cmd_set_process_connection_type):
support for using pipes *or* ptys when connecting to a process
(cmd_fork_process): renamed as `start-process'
Mon Jun 6 20:23:55 1994 John Harper (jsh@orcrist)
* unix_misc.c (cmd_copy_file): oops, didn't open the destination
file with O_TRUNC :-(
* misc.c (cmd_substr): renamed as `substring' and significantly
changed.
* find.c (cmd_regexp_quote): new function
Sun Jun 5 22:58:43 1994 John Harper (jsh@orcrist)
* lisp.c, lispcmds.c, lispmach.c, lisp.h, x11_eventloop.c,
amiga_eventloop.c: Interrupt support -- now you can break those
annoying infinite loops :)
* x11_display.c (x11_int_handler): handler for SIGINT
Sat Jun 4 14:08:48 1994 John Harper (jsh@orcrist)
* keys.c (var_this_command, var_last_command): new functions
Thu Jun 2 12:29:11 1994 John Harper (jsh@orcrist)
* Version 3.1 released
Wed Jun 1 21:02:03 1994 John Harper (jsh@orcrist)
* x11_windows.c (makemousepos): didn't check that the returned value
was legal
Mon May 30 16:48:21 1994 John Harper (jsh@deep)
* windows.c (stdtitle): changed the format string
* amiga_misc.c (cmd_file_req): sets the length of the returned string
to its correct value
* render.c (cutpastelines): doesn't assume that the window contains
an integral number of lines -- screen debris was left between the
end of the last line and the bottom of the window
* misc.c (memchr): in case the C library doesn't provide memchr(),
one of mine doesn't :(
* configs/: new option in all config files `HAVE_MEMCHR'
* amiga_menus.c (setallmenus, clearallmenus): Didn't ignore window
objects which don't have a physical window open, this was causing
Enforcer hits
Wed May 25 19:16:11 1994 John Harper (jsh@orcrist)
* find.c (findprev): kludged the index manipulation
* movement.c (findmatchingbracket): new argument ESC plus code
to check for escape chars
(cmd_match_brackets): new arg ESC, for the above modification
Tue May 24 16:06:14 1994 John Harper (jsh@orcrist)
* movement.c (cmd_screen_bottom_line, cmd_screen_last_column):
returned 1 to big
* editcommands.c (get-char): didn't return newlines
* lispmach.c (cmd_lisp_code2): renamed the conditional jumps
* render.c (redraw_line_from, redraw_region): these now notice if
they're told to start drawing before the first visible column
* lispmach.c (cmd_lisp_code2): wasn't setting ThrowValue to NULL
while evaluating unwind-protect forms
* symbols.c (cmd_setq_default, cmd_default_value): new functions
for accessing the default value of symbols
* Makefile.in: no longer uses CFLAGS to pass the JADE_DIR define
Mon May 23 02:07:53 1994 John Harper (jsh@orcrist)
* Changed the origin of a buffer's coordinates to (0,0) not (1,1),
what will this break??
* glyphs.c (expand_tabs): didn't like START-GLYPH==0
* editcommands.c (cmd_set_indent_pos, cmd_indent_to): options
to only insert spaces, not tabs
* movement.c: fixed the `tab' functions to work with glyph
positions
* stringmem.c (sm_free): when a (non-malloc'd) string is freed
increment DataAfterGC by its size
Sun May 22 23:13:10 1994 John Harper (jsh@orcrist)
* values.c (cmd_garbage_collect): calls sm_flush() on the MainStrMem
block.
* buffers.c (cmd_destroy_buffer): doesn't bother calling sm_flush()
anymore
Sat May 21 20:59:11 1994 John Harper (jsh@orcrist)
* refresh.c (refreshworldcurs): doesn't try to setvwtitle()
closed windows anymore
Fri May 20 21:52:37 1994 John Harper (jsh@orcrist)
* configs: added HAVE_SETPGID and HAVE_SETPGRP options
* unix_processes.c: takes note of the above macros
Thu May 19 21:02:06 1994 John Harper (jsh@orcrist)
* unix_client.c, amiga_client.c (main): resets the line number for
each file.
* x11_windows.c (cmd_window_left_edge, cmd_window_top_edge): these
used to return coordinates relative to our parent window (created
by the wm) not the root window.
Sun May 15 00:30:48 1994 John Harper (jsh@orcrist)
* lispmach.c: new instruction OP_RETURN
* find.c (replacit, replaceitstr): calls flaginsertion() before
inserting the string not after (when the pos has been advanced)
* lispcmds.c (cmd_unwind_protect): temporarily sets `ThrowValue' to
NULL while evaluating the body.
* lispmach.c (cmd_lisp_code2): similar to the above when unwinding
Fri May 13 21:52:40 1994 John Harper (jsh@orcrist)
* editcommands.c (cmd_set_char): new function
Thu May 12 19:24:22 1994 John Harper (jsh@orcrist)
* lispmach.c: cmd_lisp_code renamed as cmd_lisp_code2 since
compiled forms are now different.
* lisp.c (string_print): no longer escapes tabs or newlines
* editcommands.c (cmd_translate_string, cmd_get_char): new
functions.
Tue May 10 21:19:29 1994 John Harper (jsh@orcrist)
* lisp.h, value.h: New definition of the VALUE type, no longer
is it (void *)
Sun May 8 18:42:03 1994 John Harper (jsh@orcrist)
* editrect.c: New file. Most rectangle code has moved here from
edit.c and updated to cope with the fact that a character's position
in a line may not be the same as its position on the screen. Also
lots of TAB handling.
* keys.c (evalbinding): if the symbol `meta-sends-esc' is non-nil
any meta-modified events get translated into ESC then the
un-meta'd event.
Sat May 7 13:53:59 1994 John Harper (jsh@orcrist)
* glyphs.c: each buffer can now have its own glyph-table. A new
data type for glyph-tables has been created. New functions to
manipulate these.
Fri May 6 20:31:33 1994 John Harper (jsh@orcrist)
* editcommands.c (cmd_indent_to): new function
* edit.c: changes uses of strcpy() and family to memcpy() so
nul bytes don't cause havoc.
Thu May 5 17:08:23 1994 John Harper (jsh@orcrist)
* unix_processes.c (writetoproc): new arg BUFLEN
* streams.c (stream_puts): new arg BUFLEN, the length of the
string being written
(stream_read_esc): now understands octal escapes of less than 3
chars and hex escapes
* lisp.h: strings allocated (as opposed to being string-constants)
now contain a length field. This will allow these strings to
contain '\000' characters. The macro STRING_LEN gives the number
of characters in any type of Lisp string.
* values.c: accommodate the above changes
* io.c (cmd_write_file): uses fwrite() not fputs
Wed May 4 20:28:31 1994 John Harper (jsh@orcrist)
* edit.c (posinblock): for rectangular blocks uses glyph coords
* housekeeping.c: the block marks are only updated in the y direction
if rectangular blocks are being marked.
* render.c (draw_bit): END arg is now inclusive
* amiga_misc.c, unix_misc.c (fileexists): now returns bool
Tue May 3 08:30:52 1994 John Harper (jsh@orcrist)
* buffers.c (var_disk_tab, var_save_tabs): removed
(var_screen_tab): renamed as var_tab_size
* edit.h (struct _TX): removed tx_DiskTab and tx_SaveTabs :)
* movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
cmd_goto_prev_tab): new arg TAB-SIZE. Also the goto variants
convert glyph-pos to char-pos. The other return the *glyph* pos.
* find.c (strrchrn, strrstrn): renamed as mystrrchrn() and
mystrrstrn() incase they clash with anyone's C library
* misc.c (stpblk, stpalnum, cpyalnum): deleted, they were
not used anymore
* find.c (mystricmp): args toupper() and tolower() had side
effects! Deleted this function since it's not used anymore
anyway
* housekeeping.c: #undef's no longer state the macro's args,
I'm told this is illegal
* movement.c (cmd_goto): renamed as cmd_goto_char
(cmd_goto_glyph): new function
* editcommands.c (cmd_indent_pos, cmd_set_indent_pos): hacked
to allow `proper' TABs
* edit.c (insertstring): no longer has to expand TAB chars.
* io.c (readtx): rewritten, no longer has to expand TAB chars,
should make it a lot faster?
(writeline): not needed anymore
* render.c: many changes to cope with the `glyphs' code, now
there are two types of column position, the `character' one
which is the number of characters from the start of the line, and
the `glyph' pos, the number of glyphs from the start of the
line.
* glyphs.c: new file, manages mappings between characters and
their printed representations. Includes new Lisp functions,
`glyph-to-char-pos', `char-to-glyph-pos', `set-glyph' and
`get-glyph'.
Mon May 2 10:13:12 1994 John Harper (jsh@orcrist)
* windows.c (stdtitle): bracketing around mode names now shows
if in a recursive-edit
* values.c (cmd_dup_pos): renamed as cmd_copy_pos
* streams.c (streamputc, streamputs): strings now have a number
associated with them, their *actual* size.
* lispcmds.c (cmd_rassoc, cmd_rassq): new functions
(cmd_copy_string): new function
Sun May 1 23:36:00 1994 John Harper (jsh@orcrist)
* lisp.c: Optimised some of the read functions, got rid of the
nextlispexp() function.
Sat Apr 30 10:44:56 1994 John Harper (jsh@orcrist)
* symbols.c (symbols_init): nil and t are now constants
* windows.c (cmd_make_window): only calls updatescroller() if
tx is non-NULL, should fix the other Enforcer hit?
* buffers.c (firstbuffer): now calls updatescroller() *after*
switching in the first buffer, I think this should kill the
Enforcer hit at startup?
* refresh.c (refreshworldcurs): updates status line properly
* edit.c (checksect, checkpos, checkline): didn't make sure the
line number was positive
* unix_client.c: now takes a series of files
* amiga_eventloop.c (eventloop): Wait()'s for ServerSig as well
* amiga_server.c, amiga_client.c: new files (untested, as yet)
Fri Apr 29 21:38:03 1994 John Harper (jsh@orcrist)
* unix_server.c, unix_client.c: new files
Thu Apr 28 19:21:43 1994 John Harper (jsh@orcrist)
* amiga_defs.h, unix_defs.h (DOC_FILE): renamed as DOC
* unix_misc.c (geterrstring): macro HAVE_STRERROR replaces
ERRNO_STRING, much simpler.
Thu Apr 28 14:39:49 1994 J.S.Harper (jsh@raven.ukc.ac.uk)
* render.c (cutpastelines): fixed one [more] bug
Thu Apr 28 01:26:58 1994 John Harper (jsh@orcrist)
* editcommands.c (cmd_delete_area, cmd_cut_area): these now
call padpos() on their section markers.
Wed Apr 27 19:53:27 1994 John Harper (jsh@orcrist)
* unix_memory.c, unix_defs.h (myfree, initmem, killmem): these are
now macros in unix_defs.h
Tue Apr 26 22:59:44 1994 John Harper (jsh@orcrist)
* Makefile.in: new file, cpp source to make src/Makefile. Now only
one configuration file has to be edited, src/config.h, it's used
for both Makefile and C configurations.
Mon Apr 25 22:14:41 1994 John Harper (jsh@orcrist)
* keys.c (cmd_current_key_string): new function
* buffers.c (var_minor_mode_names): list of strings which is printed
in the status line.
* edit.h (TX): tx_MinorModeNameList and tx_MinorModeNameString
Sun Apr 24 13:06:56 1994 John Harper (jsh@orcrist)
* unix_misc.c (cmd_directory_files): oops. If it couldn't open the
named dir, it signalled the error with the C-string not the Lisp one.
* misc.c (cmd_expand_file_name): new function
* unix_misc.c (expand_file_name): does the work of the above function
* unix_defs.h: #define EXPAND_FILE_NAME expand_file_name
* unix_processes.c (runproc): initialises the pty more carefully
* streams.c (posputc, posputs): uses `tx_DiskTab' for tab size, not
`tx_TabSize'. What will this break?
Sat Apr 23 21:05:34 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_defvar, cmd_defconst): these are now in C
* find.c (cmd_looking_at): used to set `find-last-end-pos' to the
wrong position, also, the NOCASE_P arg was being ignored.
Wed Apr 20 16:02:28 1994 John Harper (jsh@orcrist)
* Version 3.0 released
Tue Apr 19 20:51:28 1994 John Harper (jsh@deep)
* refresh.c (refreshworldcurs): Checks if buffer has switched
* amiga_minrexx.c (disp_rexx_port): changed the way that results are
returned. Numbers and Strings are returned via RESULT. `nil'
means RC=1 (command failed), anything else RC=0 (command succeeded).
Mon Apr 18 20:54:42 1994 John Harper (jsh@orcrist)
* lisp.c (LispDepth, MaxLispDepth, var_max_lisp_depth, _eval, funcall):
Protection against infinite recursion.
Mon Apr 18 11:13:52 1994 John Harper (jsh@deep)
* prefs.c (copyfileprefs): by default `save-tabs' is 'all
Sun Apr 17 19:29:37 1994 John Harper (jsh@orcrist)
* refresh.c (refreshwindow): simpler way of checking if block has
already been drawn. Not good, but it may actually work!
* render.c (cursor): checks if cursor is off bottom of window
* x11_commandline.c (docmdline): now redraws the separator line
on an expose event.
* unix_misc.c, amiga_misc.c (cmd_move_file): renamed to
`cmd_rename_file'.
* unix_misc.c, amiga_misc.c (cmd_copy_file, cmd_file_nlinks,
cmd_file_modes, cmd_set_file_modes): New functions
Sat Apr 16 14:04:45 1994 John Harper (jsh@orcrist)
* Added license notices at the beginning of all source files.
* All instances of the string `jed' have been changed to `jade'. I
decided to change its name since there is at least one other editor
called jed.
Fri Apr 15 14:35:55 1994 John Harper (jsh@deep)
* amiga_windows.c (newwindow, sleepwin): `DefDims' contains the
number of rows/columns, not pixels.
* amiga_display.c (initwinsys): Command line arguments `-pubscreen'
and `-font'
Thu Apr 14 20:23:27 1994 John Harper (jsh@deep)
* values.c (values_kill): Due to a typo blocks of Numbers weren't being
deallocated, now they are.
* amiga_eventloop.c (eventloop): Fixed idle test. It's not ideal
-- it uses 10 Intuiticks equal one second. Of course, the main
loss is that Intuiticks are only sent while one of our windows is
active :-(
Thu Apr 14 11:31:49 1994 John Harper (jsh@orcrist)
* amiga_menus.c: More or less wholly rewritten. Doesn't take menu
definitions from a file anymore, but from a list. No support for
submenus at the moment though.
* buffers.c (makemarksres, makemarksnonres): Don't bother checking
for a NULL `tx_FileName', this can't happen.
* values.c (markvalue): Marks don't get gc-marked down their
chain, this was wrong.
* buffers.c (sweep_mark, unchainmark): To go with the above, marks
are now unchained from their buffer when swept.
* misc.c (cmd_file_concat): function to stick together
path-name components.
* amiga_misc.c, unix_misc.c (addfilepart): for the above function
Wed Apr 13 11:31:45 1994 John Harper (jsh@orcrist)
* symbols.c (bindsymbol, unbindsymbols): Can now bind to V_Var
objects properly (the function is used to retrieve and set its
value)
Tue Apr 12 14:55:56 1994 John Harper (jsh@orcrist)
* x11_windowsys.h: CLR_RECT and SET_RECT did one two many columns/rows
* find.c (cmd_looking_at): new function
Mon Apr 11 23:17:56 1994 John Harper (jsh@orcrist)
* symbols.c: `make-*-variable' functions have been changed to
`set-*-variable'. They don't make anything, just set a flag.
Sun Apr 10 19:22:35 1994 John Harper (jsh@orcrist)
* find.c (strrchrn): Now uses a pointer instead of an array index.
Fri Apr 8 20:21:07 1994 John Harper (jsh@orcrist)
* symbols.c (cmd_symbol_value, symbol_function): Got rid of the
`void-symbol-function' hook.
Tue Apr 05 15:19:47 1994 John Harper (jsh@deep)
* amiga_windows.c (cmd_font_size): Removed, obsoleted by the
`font-y-size' function
* windows.c (cmd_font_x_size, cmd_font_y_size): New commands
* amiga_misc.c (cmd_full_name): No longer returns NULL when it
can't read the ENV: variable `REALNAME'.
* amiga_clipboard.c: Errors now reported via signal, not just printed
in the status line.
(readclip): Used to return a normal string not a VALUE
Mon Apr 4 12:40:00 1994 John Harper (jsh@orcrist)
* Makefile, DMakefile: Now *all* source files are scanned for
doc-strings. This is so that there is only one `DOC-strings' file
for any particular revision (not one for each target OS).
Sun Apr 3 20:57:24 1994 John Harper (jsh@orcrist)
* main.c, x11_eventloop.c, amiga_eventloop.c: Now eventloop() calls
refreshworldcurs() when it is entered, this used to be done in
cmd_recursive_edit() (but not in main()).
Thu Mar 31 12:27:21 1994 John Harper (jsh@orcrist)
* Files in the directories `amiga/', `unix/' and `x11/' have been
moved into the root source dir with prefixes of `amiga_', `unix_' and
`x11_' respectively. This makes compilation a lot easier.
Tue Mar 29 00:45:13 1994 John Harper (jsh@orcrist)
* render.c: As much as possible of x11/render.c has been moved to
here. Uses macros defined in windowsys.h to do as much platform-
independant rendering as possible. This turns out to be everything
but the prompt line.
* refresh.c: Copied most of render.c into this file.
Fri Mar 25 13:20:11 1994 John Harper (jsh@orcrist)
* x11/eventloop.c: increasing the vertical size of a window no longer
leaves the old status line in the middle of the display (if the buffer
doesn't overwrite it).
* values.c (cons_sweep): wholly unused blocks are now freed
(markvalue): attempt to limit recursion as much as possible
Thu Mar 24 09:51:07 1994 John Harper (jsh@orcrist)
* symbols.c: Got rid of `symbol-flags' function. Now there's none
of these annoying `flags' functions left :-)
* buffers.c: TXFF_IMMORTAL and TXFF_NOCHANGE are consolidated
into TXFF_SPECIAL. New functions `set-buffer-special' and
`buffer-special-p'. Got rid of `tx-flags' function.
(set-buffer-name, set-file-name): Order of arguments reversed,
this is more consistent with all other `set*' functions.
* files.c: renamed to buffers.c, this makes more sense now
Wed Mar 23 12:06:02 1994 John Harper (jsh@orcrist)
* values.c (markvalue): Two new algorithms for marking cons cells
* General code cleanup so that it will compile with -Wparentheses.
Sat Mar 19 03:45:03 1994 John Harper (jsh@orcrist)
* find.c (cmd_find_next_regexp, cmd_find_prev_regexp, cmd_regexp_match,
cmd_regexp_match_line): optional arg `IGNORE-CASE-P'
* regexp/regexp.h, regexp/regexp.c: new flag to regexec2(),
REG_NOCASE, means ignore case when comparing strings (but not
for character classes).
* io.c: new command `read-file-from-to'
* streams.c: new commands `read-line' and `read-file-until'
Fri Mar 18 01:03:28 1994 John Harper (jsh@orcrist)
* doc/: Directory with manual stuff, new Makefile
* find.c: New command `regexp-expand-line' a cross between
`regexp-expand' and `regexp-match-line'.
Thu Mar 17 18:55:54 1994 John Harper (jsh@orcrist)
* jed.h, windows.c: Got rid of obsolete VWFF_NOSAVEPOS flag. Also
the var `vw-flags' is gone. Functions `rect-blocks-p' and
`set-rect-blocks' are used instead (the other flags are internal).
* unix/processes.c: Now uses SA_RESTART if possible and O_NONBLOCK
instead of O_NDELAY.
Tue Mar 15 23:04:34 1994 John Harper (jsh@orcrist)
* jed.texi: New file, at last! I've started the manual
* files.c (var_save_tabs): Now uses descriptive symbols for the
options, not magic numbers.
Mon Mar 14 21:21:41 1994 John Harper (jsh@orcrist)
* unix/processes.c: Now uses sigaction() and sigprocmask() instead
of signal(). I'm not sure if I've done this correctly, from looking
at the kernel sources it seems ok...
Sat Mar 12 22:25:36 1994 John Harper (jsh@orcrist)
* x11/display.c: Added `-name' option -- sets the name which is
primarily used to lookup resources with.
* x11/display.c (getxresources): If unable to find a resource with
the program name tries with the string "Jed".
Thu Mar 10 22:08:33 1994 John Harper (jsh@orcrist)
* find.c: (cmd_replace_regexp, cmd_replace_string): Checks if `pos'
is out of range (instead of just seg-faulting).
Mon Mar 7 21:27:25 1994 John Harper (jsh@orcrist)
* lispcmds.c: New symbol `lisp-lib-dir'
* lisp.c (cmd_add_doc_string): New command to write a new doc-string
to the DOC file and return its index.
Sun Mar 6 12:49:38 1994 John Harper (jsh@orcrist)
* windows.c (window_prin): Handles dead windows now.
* windows.c (cmd_destroy_window): Now does (throw 'quit 0) when no
more windows exist.
* windows.c, amiga/windows.c: Fixed `NumWindows' variable -- it's
now decremented in `cmd_destroy_window'.
Sat Mar 5 01:21:35 1994 John Harper (jsh@orcrist)
* edit.c: #if 0'd `stuffline'. This is now done inline where functions
can take advantage of knowing the length of the line.
* editcommands.c (cmd_translate_area): Applies a translation-table
(a string) to a region of a buffer. Also, variables `upcase-table' and
`downcase-table' are provided. Needs `cmd_translate_rect'.
Fri Mar 4 18:55:38 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_functionp, cmd_special_form_p): Fixed null-ref
when a symbol has no function value.
* edit.c (rectinsertstring, rectdeletesect): Now calls the `flag*'
functions properly. Also fixed bug that inserting past the bottom
of the file didn't work properly.
* files.c: Changed `cmd_find_file' to `cmd_get_file_buffer' and
`cmd_find_buffer' to `cmd_get_buffer'.
Thu Mar 3 21:36:01 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_eval_hook2): Could exit with `GCinhibit' still set.
* keys.c (usekey): Now checks for a read-only buffer before inserting
a keypress.
Mon Feb 28 19:34:54 1994 John Harper (jsh@orcrist)
* symbols.c, lisp.h: New flag in Symbol struct: SF_INTERNED.
This gets set when a symbol is interned. Lets me protect against
interning a symbol twice.
* streams.c (cmd_stdin_file, cmd_stdout_file): These didn't
actually set the LFF_DONT_CLOSE flag which I had so carefully
prepared for them :-(
Sun Feb 27 20:48:56 1994 John Harper (jsh@orcrist)
* x11/windows.c (activatewin): Actually does something now -- raises
the window and warps the mouse to it's top-left corner.
Tue Feb 22 21:58:18 1994 John Harper (jsh@orcrist)
* x11/render.c (cutpastelines): Doesn't bother if `dstLine' is off
bottom of window.
* lisp.c, lispcmds.c, lispmach.c, ../lisp/lisp.jl: Got rid of 'lambda
throw tag, this won't work as expected in some pieces of compiled
code. Replaced by 'defun tag which returns a value from a defun.
Mon Feb 21 02:05:56 1994 John Harper (jsh@orcrist)
* lispcmds.c (cmd_load): Now takes note of variable `load-path' (list
of directory names) and warns if compiled file is older than it's
source. Also an option to suppress the error when file doesn't exist.
Sun Feb 20 21:20:02 1994 John Harper (jsh@orcrist)
* io.c (cmd_write_buffer_area): New command, writes a portion of
a buffer to a file.
Sat Feb 19 00:45:53 1994 John Harper (jsh@orcrist)
* lisp.c, lispmach.c (cmd_backtrace): Now keeps a stack of all
living Lisp function calls. This is mainly so it's easy to see
where an error occurs.
* lisp.c [mainly]: Error signalling written. New subrs, signal,
error-protect (similar to emacs' `condition-case') and a var,
debug-on-error. New byte-opcodes introduced -- op-signal and
op-error-protect.
Tue Feb 15 20:59:53 1994 John Harper (jsh@orcrist)
* x11/render.c (cutpastelines): Some optimisation of what lines get
moved (now leaves trailing blank lines alone).
* unix/misc.c (cmd_user_login_name): Tries getlogin() before
getpwuid().
Mon Feb 14 21:32:27 1994 John Harper (jsh@orcrist)
* Changed doc-string handling -- now all subr doc-strings are kept in
a separate file. All source files containg `DEFUN's have been
changed to accomplish this and a new tool `makedoc' has been written.
This only saves about 40K in the binary but since that was about a
quarter of the whole size I think it's worth it.
Sat Feb 12 14:35:05 1994 J.S.Harper (jsh@falcon.ukc.ac.uk)
* find.c (cmd_regexp_match_line): New command, matches a regexp
to a line of a buffer.
* movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
cmd_goto_prev_tab): These would go into a (near-)infinite loop
when given a negative argument.
* unix/misc.c (cmd_user_full_name): `FULL_NAME_TERMINATOR' option.
Sat Feb 12 01:28:01 1994 John Harper (jsh@orcrist)
* misc.c (cmd_major_version_number, cmd_minor_version_number): New
commands.
Thu Feb 10 03:15:12 1994 John Harper (jsh@orcrist)
* render.c: '#if 0' out `cmd_refresh_window'. This isn't possible
anymore -- there's no way of saying that a certain window has been
updated re: a buffer while other views of that buffer haven't. This
is no big loss, use `refresh-all' instead.
* jed.h, x11/windowsys.h, amiga/windowsys.h: Took out most #ifdef's
from the VW structure. Now all window-system specific bits of a VW
are in a separate structure (`VW_WindowSystem').
Wed Feb 9 22:46:34 1994 John Harper (jsh@orcrist)
* jed.h, files.c, ../lisp/buffers.jl: Fixed problem of buffer being
marked unmodified after an auto-save. -Introduced new field,
`tx_ProperSaveChanges', containing the change count at the last
time the buffer was written to its file (*not* an auto-save).
* io.c (readtx, writetx): No longer assumes that all files end
in '\n'. This means that files without a trailing newline don't
get given one anyway when they're written to disk.
Tue Feb 8 03:29:19 1994 John Harper (jsh@orcrist)
* files.c (cmd_buffer_changes, cmd_buffer_modified_p,
cmd_set_buffer_modified): New method of dealing with modification
counts. `tx_Changes' is *never* reset -- when the buffer is
`un-modified' another field `tx_LastSaveChanges' is set to the
current value of `tx_Changes'. This is so the new refresh code
can rely on the change counter.
* render.c, x11/render.c, edit.c, editcommands.c: Rewrote functions
which control what gets redrawn and when. This almost works. Much
more efficient and loses some embarassing misfeatures.
Sun Feb 6 01:25:15 1994 John Harper (jsh@orcrist)
* lisp.h, streams.c: New flag in LFile structure, `LFF_DONT_CLOSE',
means *never* fclose() the lf_File field.
* streams.c (cmd_stdin_file, cmd_stdout_file): Access to stdin/out.
* .gdbinit: New file, command to print a lisp object in gdb.
* lisp.c (bindlambdalist): uses static symbols to match ampersand-
keywords (`&optional', `&rest', `&aux').
* amiga/misc.c: merged amiga/io.c into this file.
* amiga/misc.c (cmd_user_login_name, cmd_user_real_name,
cmd_user_home_directory, cmd_system_name): New commands in line
with their unix counterparts, get their values from strategically
placed environment variables.
* unix/misc.c: merged unix/io.c into this file.
* unix/io.c (cmd_user_login_name, cmd_user_real_name,
cmd_user_home_directory, cmd_system_name): These now cache their
results after the first time they're called.
* unix/io.c (cmd_system_name): Now returns the full hostname, with
domains and everything.
Sat Feb 5 21:36:22 1994 John Harper (jsh@orcrist)
* windows.c (cmd_with_window): special-form (similar to `with-buffer').
* lispmach.c, ../lisp/compiler.jl: support for above special form, new
opcodes `swap-window' and `windowp'.
* lispmach.c: Put stack bounds checking inside `#ifdef PARANOID'
* unix/processes.c (signalprocess): Signals no longer use characters.
(Unless you define `SIGNALS_VIA_CHARS'.)
Fri Feb 4 23:26:31 1994 John Harper (jsh@orcrist)
* ChangeLog starts here, I've decided to try and keep one of these
things.